Public-key Encryption

What is public-key encryption

definition & history

Each party has a pair(K, K1) of keys:

  1. K is the public key, and used for encryption
  2. K1 is the private key, and used for decryption
  3. Satisfies DK1[EK[M]]=M

Secure Public Key encrytion is impossible when P=NP.(ref NP Theory)

Proposed by Diffie and Hellman, documented in "New Directions in Cryptography" (1976):

public key encryption algorithm

Diffie-Hellman Key Agreement Protocol

Security of DH is based on Three Hard Problems

  1. Discrete Log Problem(DLG)
  2. Computational Diffies Hellman Problem(CDH)
  3. Decision Diffie Hellman Problem(DDH)

EIGamal Encryption

RSA Algorithm

Invented in 1978 by Ron Rives, Adi Shamir and Leonard Adleman

Key generation

  1. Select 2 large prime numbers of about the same size, p and q
  2. Compute n=pq, and Φ(n)=(q1)(p1)
  3. Select e, 1<e<Φ(n), e and Φ(n) are coprime
  4. Determine d as de1 (mod λ(n))

Encryption

cme(mod n)

Decryption

cd(me)dm(mod n)

RSA security

Usage

ECC Algorithm

Digital Signatures

definition

signatures provide non-repudiation

RSA Signatures